package reflect;

import reflect.annotations.AutoRunMethod;

import java.lang.reflect.Method;

/**
 * 访问注解参数值
 */
public class ReflectDemo11 {
    public static void main(String[] args) throws Exception {
        //获取Person类上sayHello中注解@AutoRunMethod上的参数值
        Class cls = Class.forName("reflect.Person");
        //获取sayHello方法
        Method method = cls.getDeclaredMethod("sayHello");
        //判断该方法是否被注解@AutoRunMethod标注
        if(method.isAnnotationPresent(AutoRunMethod.class)){
            /*
                Annotation getAnnotation(Class<T> annotationClass)
                所有的反射对象都支持该方法，用来获取反射对象表示的内容上指定的注解
             */
            AutoRunMethod arm =  method.getAnnotation(AutoRunMethod.class);
            int value = arm.value();//获取注解上的"value"参数值
            System.out.println("参数value的值是:"+value);
        }
    }
}
